package com.auction.service;

import com.auction.dto.LoginDTO;
import com.auction.dto.UserDTO;
import com.auction.dto.UserPageQueryDTO;
import com.auction.pojo.PageResult;
import com.auction.pojo.User;
import com.auction.vo.UserLoginVO;
import com.github.pagehelper.PageInfo;

public interface UserService {
    /**
     * 用户登录
     * 
     * @param loginDTO
     * @return
     */
    UserLoginVO UserLogin(LoginDTO loginDTO);

    /**
     * 用户注册
     * 
     * @param userDTO
     */
    void register(UserDTO userDTO);

    /**
     * 根据ID查询用户
     * 
     * @param id
     * @return
     */
    User getById(Long id);

    /**
     * 更新用户信息
     * 
     * @param userDTO
     */
    void update(UserDTO userDTO);

    /**
     * 分页查询用户
     * 
     * @param pageNum
     * @param pageSize
     * @param name
     * @return
     */
    PageInfo<User> page(int pageNum, int pageSize, String name);

    /**
     * 分页查询用户
     *
     * @param userPageQueryDTO
     * @return
     */
    PageResult pageQueryUser(UserPageQueryDTO userPageQueryDTO);

    /**
     * 启用禁用用户账号
     * @param status
     * @param id
     */
    void startOrStop( Integer status,Long id);
}